package br.leiam.eolica.util;

import java.util.StringTokenizer;

import br.leiam.eolica.excecoes.EolicaException;


public class EolicaUtil {
	
	public static boolean isNull(Object o){
		return o==null;
	}
	
	public static boolean isVazio(String valor){
		return valor.trim().isEmpty();
	}
	
	public static boolean isNullOrVazio(String valor){
		return isNull(valor)||isVazio(valor);
	}
	
	public static String getFirstToken(String palavra, String token){
		StringTokenizer stK = new StringTokenizer(palavra, token);
		if (stK.hasMoreTokens()){
			return stK.nextToken();
		}
		return "";
	}
	
	public static String getNumberFormatado(int numero){
		String result=numero+"";
		int quantDigitos = result.length();
		int maxDigitos=6;
		for(int i=quantDigitos;i<maxDigitos;i++){
			result="0"+result;
		}
		return result;
	}
	
	public static String getTurbina(String turbinaSelecionada){
		String output = "";
		turbinaSelecionada = turbinaSelecionada.trim();
		
		if(turbinaSelecionada.equals(eolica.EolicaController.TURBINA1.substring (0,4).trim()))
			output = br.leiam.eolica.graficos.CurvaAerogerador.TURBINA_500KW;
		else if(turbinaSelecionada.equals(eolica.EolicaController.TURBINA2.substring (0,4).trim()))
			output = br.leiam.eolica.graficos.CurvaAerogerador.TURBINA_1p5MW;
		else if(turbinaSelecionada.equals(eolica.EolicaController.TURBINA3.substring (0,4).trim()))
			output = br.leiam.eolica.graficos.CurvaAerogerador.TURBINA_2p0MW;
		else 
			output = br.leiam.eolica.graficos.CurvaAerogerador.TURBINA_2p1MW;
		return output;
		
	}
	/*
	public static void main(String[] args){
		System.out.println(getNumberFormatado(5));
		System.out.println(getNumberFormatado(50000));
		System.out.println(getNumberFormatado(80));
	}*/

	/**
	 * 
	 * lancado uma excecao com uma mensagem personalizada.
	 * @return o valor convertido   
	 */
	public static int toInt(String valorString, String msgErro) throws EolicaException {
		int valor;
		try{
			valor = Integer.parseInt(valorString);
		}catch(Exception e){
			throw new EolicaException(msgErro);
		}
		return valor;
	}
	
	

}
